#!/usr/bin/perl use strict; $|++; -d "SORTED" or mkdir "SORTED" or die "mkdir SORTED: $!"; for (glob "RESULTS/*") { my($basename, $person) = /RESULTS\/(.*?_(.*?)_[\db]+\.jpg)$/ or die "$_"; my $dir = "SORTED/$person"; -d $dir or mkdir $dir or die "mkdir $dir: $!"; my $target = $basename; for ($target) { s/^9/199/ or s/^0/200/; # patch up years $_ = "$dir/$_"; } -e $target or symlink "../../$_", $target or die "ln -s ../../$_ $target: $!"; }