I can see this print each line in the title and the => bit shows the year being extracted (not sure that's the right word) from the title.
sub find_year {
my( $str ) = @_;
my $year;
$year = $1
if( $str =~ /\b((?:19|20)\d\d)\b/ );
return $year
}
for my $title (
"Let's party like it's 1999",
"If 6 was 9",
"If 6 was 9",
"Summer of 69",
"Disco 2000",
) {
print $title , " => ", find_year($title), "\n";
}
One thing I'm not sure of is, I've tried to integrate the info above so that I can use the $title from a csv file rather than titles typed into the script (as in the above example). I have attempted this below but it's not working. I'd appreciate if someone could tell me what exactly i'm doing wrong. I know I'm being prompted to learn which I'm happy to do, but I think I would learn faster if someone told me what I have done wrong in the piece of code below.
sub find_year {
my( $str ) = @_;
my $year;
$year = $1
if( $str =~ /\b((?:19|20)\d\d)\b/ );
return $year
}
#get the title from csv3
open CSV3, "<csv3" or die;
while (<CSV3>) {
chomp;
my ($title) = $_ =~ /^.+?,\s*([^,]+?),/; #/ match the title
}
for my $title {
print $title , " => ", find_year($title), "\n"; }
|