perl-5.14 deprecated the Switch module. We can use the given/when statement instead, available since 5.10. Submitted upstream: http://code.google.com/p/chromium/issues/detail?id=86645 --- third_party/WebKit/Source/WebKit/scripts/generate-webkitversion.pl.orig 2011-06-18 11:13:44.104816166 +0200 +++ third_party/WebKit/Source/WebKit/scripts/generate-webkitversion.pl 2011-06-18 11:14:10.238814221 +0200 @@ -39,7 +39,6 @@ use strict; use Config; use Getopt::Long; use File::Path; -use Switch; my $usage = "generate-webkitversion --config WebKit/mac/Configurations/Version.xcconfig --outputDir "; --- chrome/tools/test/generate_mime_tests.pl.orig 2011-06-14 10:01:52.000000000 +0200 +++ chrome/tools/test/generate_mime_tests.pl 2011-06-18 11:48:40.093660143 +0200 @@ -32,7 +32,7 @@ # the layout test framework. use strict; -use Switch; # used for switch-case program structure +use feature qw(switch); my $arg_count = $#ARGV + 1; @@ -161,15 +161,15 @@ my @expected = ( # Output : returns the associated description sub get_result_description { - switch ($_[0]) { - case "void" { return "NOTHING";} - case "image" { return "an IMAGE";} - case "text" { return "simple TEXT";} - case "html" { return "an HTML as text";} - case "flash" { return "a FLASH object"} - case "rs" { return "been RENDERED CORRECTLY";} - case "rf" { return "been RENDERED INCORRECTLY";} - else { return "UNKNOWN";} + given ($_[0]) { + when ('void') { return "NOTHING";} + when ('image') { return "an IMAGE";} + when ('text') { return "simple TEXT";} + when ('html') { return "an HTML as text";} + when ('flash') { return "a FLASH object"} + when ('rs') { return "been RENDERED CORRECTLY";} + when ('rf') { return "been RENDERED INCORRECTLY";} + default { return "UNKNOWN";} } } @@ -180,22 +180,22 @@ sub get_result_description # Output : returns the associated description sub get_query_description { - switch ($_[0]) { - case "tag=img&content=type_gif.gif" { return "HTML page with a GIF image";} - case "tag=img&content=type_bmp.bmp" { return "HTML page with a BMP image";} - case "tag=img&content=type_tif.tif" { return "HTML page with a TIF image";} - case "tag=img&content=type_png.png" { return "HTML page with a PNG image";} - case "tag=img&content=type_jpg.jpg" { return "HTML page with a JPEG image"} - case "tag=img&content=type_txt.txt" { return "HTML page";} - case "tag=embed&content=type_swf.swf" { return "an HTML page with a FLASH object";} - case "switch=nohtml&content=type_gif.gif" { return "GIF image and no HTML";} - case "switch=nohtml&content=type_bmp.bmp" { return "BMP image and no HTML";} - case "switch=nohtml&content=type_tif.tif" { return "TIF image and no HTML";} - case "switch=nohtml&content=type_png.png" { return "PNG image and no HTML";} - case "switch=nohtml&content=type_jpg.jpg" { return "JPEG image and no HTML"} - case "switch=nohtml&content=type_txt.txt" { return "simple TEXT and no HTML";} - case "switch=nohtml&content=type_swf.swf" { return "FLASH object and no HTML";} - else { return "UNKNOWN TYPE";} + given ($_[0]) { + when ('tag=img&content=type_gif.gif') { return "HTML page with a GIF image";} + when ('tag=img&content=type_bmp.bmp') { return "HTML page with a BMP image";} + when ('tag=img&content=type_tif.tif') { return "HTML page with a TIF image";} + when ('tag=img&content=type_png.png') { return "HTML page with a PNG image";} + when ('tag=img&content=type_jpg.jpg') { return "HTML page with a JPEG image"} + when ('tag=img&content=type_txt.txt') { return "HTML page";} + when ('tag=embed&content=type_swf.swf') { return "an HTML page with a FLASH object";} + when ('switch=nohtml&content=type_gif.gif') { return "GIF image and no HTML";} + when ('switch=nohtml&content=type_bmp.bmp') { return "BMP image and no HTML";} + when ('switch=nohtml&content=type_tif.tif') { return "TIF image and no HTML";} + when ('switch=nohtml&content=type_png.png') { return "PNG image and no HTML";} + when ('switch=nohtml&content=type_jpg.jpg') { return "JPEG image and no HTML"} + when ('switch=nohtml&content=type_txt.txt') { return "simple TEXT and no HTML";} + when ('switch=nohtml&content=type_swf.swf') { return "FLASH object and no HTML";} + default { return "UNKNOWN TYPE";} } } --- third_party/WebKit/Source/WebCore/make-hash-tools.pl.orig 2011-06-14 10:04:55.000000000 +0200 +++ third_party/WebKit/Source/WebCore/make-hash-tools.pl 2011-06-18 11:49:02.502658474 +0200 @@ -20,7 +20,7 @@ # Boston, MA 02110-1301, USA. use strict; -use Switch; +use feature qw(switch); use File::Basename; my $outdir = $ARGV[0]; @@ -28,9 +28,9 @@ shift; my $option = basename($ARGV[0],".gperf"); -switch ($option) { +given ($option) { -case "DocTypeStrings" { +when ('DocTypeStrings') { my $docTypeStringsGenerated = "$outdir/DocTypeStrings.cpp"; my $docTypeStringsGperf = $ARGV[0]; @@ -38,9 +38,9 @@ case "DocTypeStrings" { system("gperf --key-positions=\"*\" -s 2 $docTypeStringsGperf > $docTypeStringsGenerated") == 0 || die "calling gperf failed: $?"; -} # case "DocTypeStrings" +} # when "DocTypeStrings" -case "ColorData" { +when ('ColorData') { my $colorDataGenerated = "$outdir/ColorData.cpp"; my $colorDataGperf = $ARGV[0]; @@ -48,6 +48,6 @@ case "ColorData" { system("gperf --key-positions=\"*\" -D -s 2 $colorDataGperf > $colorDataGenerated") == 0 || die "calling gperf failed: $?"; -} # case "ColorData" +} # when "ColorData" -} # switch ($option) +} # given ($option)